package com.fezs.redis.config.properties;

import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.List;

/**
 * Redisson 配置属性
 *
 * @author Lion Li
 */
@Data
@ConfigurationProperties(prefix = "redisson")
public class RedissonProperties {

    /**
     * redis缓存key前缀
     */
    private String keyPrefix;

    /**
     * 缓存组
     */
    private List<CacheGroup> cacheGroup;

    @Data
    @NoArgsConstructor
    public static class CacheGroup {

        /**
         * 组id
         */
        private String groupId;

        /**
         * 组过期时间(单位:毫秒)
         */
        private long ttl = 0;

        /**
         * 组最大空闲时间(单位:毫秒)
         */
        private long maxIdleTime = 0;

        /**
         * 组最大长度
         */
        private int maxSize = 0;

    }

}
